Switching between watches or other accessories

ABSTRACT

Systems, methods and non-transitory computer readable media for allowing a user to switch between watches that have been paired with a device such as a smartphone are described. In one embodiment, the watches automatically detect a removal of a first watch from a user&#39;s wrist and an attachment of a second watch to the user&#39;s wrist. Messages from the watches are transmitted to the device to allow the device to switch the active watch from the first watch to the second watch. The switch can occur while the device is in a locked state, and the device can synchronize the second watch with data received from the first watch. Other embodiments are also described.

This application claims the benefit of U.S. Provisional PatentApplication No. 62/276,925, filed on Jan. 10, 2016, which application isincorporated herein by reference.

BACKGROUND OF THE INVENTION

The embodiments described herein relate to an accessory for a companiondevice, such as a watch or fitness tracker for a smartphone.

Watches and fitness trackers can be paired, typically though Bluetoothwireless communication, with a companion device to provide healthtracking functions and potentially other capabilities. For example, aFitbit device or an Apple Watch can gather health data through one ormore sensors and then transmit this health data to the companion devicewhich can be a data processing system such as a smartphone or tabletcomputer or laptop computer, etc. An Apple Watch can also provide otherfunctions such as notifications of messages, mails, voicemails, etc. andmany other functions which can be provided by apps that execute on thewatch.

SUMMARY OF THE DESCRIPTION

The embodiments described herein allow a user to switch between a set ofaccessories, such as a set of watches that have been paired with adevice such as a companion device. In one embodiment, the watchesautomatically detect a removal of a first watch from a user's wrist andan attachment of a second watch to the user's wrist. Messages from thewatches are transmitted to the companion device to allow the companiondevice to switch the active watch from the first watch to the secondwatch. This switch can occur while the companion device is in a lockedstate, and the companion device can synchronize the second watch withdata received from the first watch.

According to one aspect of the embodiments described herein, a methodfor switching between watches can include the following operations:detecting removal of a first watch which has been synchronized at leastpartially with a companion device and detecting attachment of a secondwatch, each of the first watch and the second watch having been pairedwith the companion device; transmitting data from the companion deviceto the second watch to synchronize the second watch with the companiondevice in response to detecting attachment of the second watch andremoval of the first watch, wherein the transmitted data originated fromthe first watch. In one embodiment, the detection of the removalincludes receiving a first wrist state from the first watch, and whereindetecting attachment includes receiving a second wrist state from thesecond watch. The detection of removal and the detection of attachmentcan occur when the second wrist state indicates a higher on-wristconfidence level than the first wrist state. In one embodiment, thedetection of removal and the detection of attachment can occurautomatically without user intervention or user input and can occurwhile the companion device remains in a locked state throughout theentire switch process. Thus, in one embodiment, a user can seamlesslyswitch between the watches without having to provide any input to thecompanion device or to the watches and the process is performedautomatically by the watches and the companion device without any userinput.

In one embodiment, the transmission of the data from the companiondevice to the second watch to synchronize the second watch can beperformed while the companion device is locked. When the companiondevice is locked, it requires a user's security input to unlock it toallow the companion device to receive further input. In one embodiment,the user's security input is one of: a password; a numeric passcode; atwo dimensional gesture on a touchscreen; a biometric input such as afingerprint, voice input, retina scan or image of a user's face.

In one embodiment, the wrist states from each watch are derived from oneor more sensors on each watch, and the wrist states from inactive pairedwatches are received through a Bluetooth advertisement which includes anadvertising identifier as well as the current wrist state of the watchderived from the sensors on the watch. In one embodiment, the companiondevice can be one of a smartphone or tablet computer or other dataprocessing system which can include a cellular telephone transceiver, aWiFi transceiver, and a Bluetooth transceiver, and the companion deviceis paired through Bluetooth with the set of paired watches which caninclude the first watch and the second watch. In one embodiment, thefirst watch and the second watch can use the same advertising identifierin the Bluetooth advertisements which arc sent from each watch.

In one embodiment, the companion device can provide a user interface ona touchscreen, such as the touchscreen of a smartphone or tabletcomputer to allow a user to select one of either: automatic watchswitching or manual watch switching. If automatic watch switching isselected, one or more of the methods described herein can be performedto allow switching between watches without any user input. If manualwatch switching is selected from the user interface then userinteraction or user input is required to cause a switching of watches.

In one embodiment, the process for switching between watches can includea last chance synchronization operation which is performed afterdetecting removal of the first watch and after detecting attachment ofthe second watch but prior to the second watch becoming the activewatch. This last chance synchronization can provide a mechanism for thefirst watch to transmit health data to the companion device which canthen be transmitted to the second watch after the second watch becomesthe active watch, and this transmission of health data can be performedautomatically without user input and can also be performed while thecompanion device remains locked. In one embodiment the transmission ofthis health data can be performed either after unlocking the secondwatch or before unlocking the second watch.

According to another aspect to the embodiments described herein, amethod for operating a watch that is paired with the companion devicecan include the following operations; transmitting, through a Bluetoothadvertisement message, a wrist state of the watch to the companiondevice, the wrist state indicating an on-wrist confidence level that ishigher than an on-wrist confidence level or another watch, thedifference in on-wrist confidence levels indicating a switch from theanother watch to the watch; receiving, from the companion device, datato synchronize the watch with the companion device in response to theswitch, the data from the companion device having originated from theanother watch. In one embodiment, the data from the companion devicethat originated from the another watch includes health data collected bythe another watch through one or more sensors on the another watch. Theanother watch and the watch are paired with the companion device forBluetooth communication.

According to another aspect of the embodiments described herein, amethod for synchronizing a new active watch with data from a prioractive watch can include the following operations: receiving, at acompanion device, data from a first paired device or watch that ispaired with the companion device, the first paired device being theactive paired device when the data is received; storing the receiveddata in a first store of the companion device, wherein once the data isstored in the first store, the data cannot be accessed when thecompanion device is locked; storing the received data in a second storeof the companion device, the received data in the second store for usein synchronizing a second paired device, such as a watch, with thecompanion device when the second paired device becomes the active paireddevice and the first paired device is no longer the active paireddevice. This method can also include transmitting at least a portion ofthe data in the second store to the second paired device in response tothe second paired device becoming the active paired device. Thistransmission can occur while the companion device remains in a lockstate, and the second paired device can decrypt the portion of the datain response to unlocking the second paired device. In one embodiment,the first store and the second store are different databases, and thedata in the second store is intended to be used for currently inactivepaired watches or devices when that data is stored in the second storeso that those currently inactive devices can be synchronized with data(from the second store) that originated from the currently active paireddevice when a switch of paired devices occurs.

In one embodiment, the first paired device can transmit its wrist statewhen it is the active paired device and the second paired device cantransmit its wrist state in a Bluetooth advertisement message. In oneembodiment, the data in the first store is stored in an encrypted stateand the data in the second store is stored in an encrypted state thatcan he decrypted by one or more currently inactive paired devices, suchas an inactive paired watch. The data stored in the first store can beencrypted with one or more keys that are different than the one or morekeys used to encrypt the data in the second store.

In one embodiment, when the companion device is unlocked from the lockedstate the health data in the second store is updated with at leastsynchronization anchors for use in synchronizing inactive watches in thefuture. Prior to this updating, the health data in the second store doesnot include synchronization anchors in one embodiment.

According to another aspect of the embodiments described herein, a dataprocessing system, such as one of the companion devices describedherein, can include the following: one or more application processes forexecuting an operating system and one or more user applications on thedata processing system which can be a wireless communication device,wherein the one or more application processors can have at least onesleep state and at least one run state which consumes more power thanthe sleep state; a radio controller which includes filter logic, a radiocontroller coupled to the one or more application processors to receive,from the one or more application processors, one or more valuesrepresenting wrist states for processing by the filter logic; a radiotransceiver coupled to the radio controller, the radio transceiverconfigured to receive one or more wrist states from an active pairedwatch and one or more wrist states from one or more inactive pairedwatches, and the radio transceiver is configured to provide these wriststates to the radio controller which is configured, through the filterlogic, to prevent waking up of the one or more application processorsfrom the sleep state when all of the one or more inactive paired watcheshave a wrist state that indicates a lower on-wrist confidence level thana most recent wrist state from the active paired watch, and the radiocontroller is configured, through the filter logic, to wake up the oneor more application processors from the sleep state when any one of theone or more inactive paired watches has a wrist state that indicates ahigher on-wrist confidence level than the most recent wrist state fromthe active paired watch. The active paired watch and the one or moreinactive paired watches can be paired with the data processing systemthrough Bluetooth. The one or more inactive paired watches can useBluetooth advertisements with the same advertising identifier in theBluetooth advertisements, and these Bluetooth advertisements include thewrist states from the one or more inactive paired watches. In oneembodiment, the one or more application processors wake up to switchwhich paired watch is the active paired watch. In one embodiment, thedata processing system and the active paired watch use an encryptedcommunication protocol sent over Bluetooth communication signals, andthe encrypted communication protocol is established after the dataprocessing system and the active paired watch have both been unlocked bya user's input. In one embodiment, the application processors canprovide to the radio controller one or more parameters representing ascan interval to cause the radio transceiver to scan for Bluetoothadvertisements from the one or more inactive watches according to thescan interval which can represent a period of time, in one embodiment,the values representing the wrist states received from the one or moreapplication processors configures the filter logic to filter outinstances where the scans of the Bluetooth signals reveal that thecurrent active watch still has the highest on-wrist confidence level.

According to another aspect or the embodiments described herein, amethod for determining a switch between accessories (e.g. a pair ofwatches) can include the following operations: scanning, by a companiondevice, for one or more wrist states from one or more pairedaccessories; determining, based on a difference in wrist states, that aswitch between accessories has occurred, where the switch is from afirst accessory to a second accessory; starting a timer (e.g., a 10second timer) in response to determining that the switch has occurred;ceasing, during a period of time before the timer expires, scanning forwrist states or other accessories; determining, during the period oftime before the timer expires, whether the second accessory hasestablished a communication connection for data exchange with thecompanion; reverting, in response to the timer's expiration, to scanningfor one or more wrist states from the one or more accessories. In oneembodiment, the wrist states can, generally speaking, indicate a state(e.g. on or off) of a position of the corresponding accessory relativeto a body of a user of the companion device (such as on wrist or offwrist confidence levels; or on head or off head confidence levels,etc.). In one embodiment, the scanning can involve receiving andprocessing Bluetooth advertisements which include the one or more wriststates, and in one embodiment the ceasing of the scanning can includenot processing the received Bluetooth advertisements or not receivingand not processing the Bluetooth advertisements. In one embodiment, thecompanion device transmits synchronization data to the second accessoryin response to determining that the second accessory and the companiondevice have established the communication connection, and the companiondevice can transmit the synchronization data to the second accessorywhile the companion device is locked.

The embodiments described herein can include companion devices,accessory devices, such as watches, and other data processing systemsand also include the various methods described herein. The methodsdescribed herein can be implemented by one or more data processingsystems which execute executable instructions, stored on one or morenon-transitory machine readable media, that cause the one or more dataprocessing systems to perform one or more of the methods describedherein. Thus, the embodiments described herein include data processingsystems, methods, and non-transitory machine readable media.

The above summary does not include an exhaustive list of all embodimentsin this disclosure. All systems and methods can be practiced from allsuitable combinations of the various aspects and embodiments summarizedabove, and also those disclosed in the Detailed Description below.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings in which likereferences indicate similar elements.

FIG. 1 shows an example of a set of devices which includes the companiondevice and two paired watches, one of which is active and the otherwhich is inactive.

FIG. 2 is a block diagram showing an example of an accessory for acompanion device, such as a watch.

FIG. 3 shows a set of paired watches which communicate with a companiondevice to allow the companion device to perform a switch between thewatches.

FIG. 4 is a diagram which shows different states over time as thecompanion device switches between watches in response to removal of onewatch and attachment of another.

FIG. 5A is a flowchart which illustrates a method which can be performedby a companion device according to one or more embodiments describedherein.

FIG. 5B is a flowchart which illustrates a method which can be performedby an accessory, such as a paired watch, according to one or moreembodiments described herein.

FIG. 6 is a truth table which can be used to implement the switchinglogic performed by a companion device according to one or moreembodiments described herein.

FIG. 7 is a flowchart which illustrates a method which can be performedby a companion device according to one or more embodiments describedherein for switching between paired accessories, such as paired watches.

FIG. 8 shows an example of a user interface which can be displayed to auser to allow the user to select between different modes for switchingbetween paired accessories, such as paired watches.

FIG. 9 is a flowchart which illustrates a method which can be performedby a companion device during the switch between paired accessories suchas paired watches.

FIG. 10 shows art example of how a companion device can perform one ormore methods for storing synchronization data from a first watch andusing that stored data to synchronize with the second watch even if thecompanion device and the second watch are both locked.

FIG. 11 shows a flowchart that illustrates a method performed by acompanion device according to one or more embodiments relating to FIG.10.

FIG. 12 shows an example of some of the components of a companion devicewhich can be used to filter out Bluetooth advertisements according toone embodiment described herein.

FIG. 13 shows an example of how filter logic can be configured in theBluetooth controller of FIG. 12 according to one embodiment.

FIG. 14 is a block diagram of an example of a data processing systemthat can be used to implement or perform one or more embodimentsdescribed herein.

DETAILED DESCRIPTION

Various embodiments and aspects will be described with reference todetails discussed below, and the accompanying drawings will illustratethe various embodiments. The following description and drawings areillustrative and are not to be construed as limiting. Numerous specificdetails are described to provide a thorough understanding of variousembodiments. However, in certain instances, well-known or conventionaldetails are not described in order to provide a concise discussion ofembodiments.

Reference in the specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin conjunction with the embodiment can be included in at least oneembodiment. The appearances of the phrase “in one embodiment” in variousplaces in the specification do not necessarily all refer to the sameembodiment. The processes depicted in the figures that follow areperformed by processing logic that comprises hardware (e.g. circuitry,dedicated logic, etc.), software, or a combination of both. Although theprocesses are described below in terms of some sequential operations, itshould be appreciated that some of the operations described may beperformed in a different order. Moreover, some operations may beperformed in parallel rather than sequentially.

The embodiments described herein relate to systems and methods forswitching between accessories of a companion device, where theaccessories can be, for example, paired watches that have been pairedwith the companion device to allow for wireless communication such aswireless communication through Bluetooth. It will be appreciated thatthe accessories may be watches or other devices, such as GPS trackers,fitness trackers, glasses (e.g., virtual reality head mourned displays),jewelry, shoes or clothes or other wearable items, heart monitor, healthsensor, glucose monitor, audio accessory (e.g., headphone or earphone)and other accessories that can operate with a companion device. Thus,even though the following description focuses on watches, theembodiments can include other types of accessories, and a switch canoccur between different types of accessories (e.g., a switch between awatch and a head mounted display).

FIG. 1 shows a companion device 12 which can be paired with a pluralityof accessories, such as the watches 14 and 16. The pairing process canbe a conventional Bluetooth pairing operation as is known in the art.The companion device 12 can be a smartphone or a tablet computer or alaptop computer or other consumer electronic device that can be pairedwith the multiple accessories. As shown in FIG. 1, the watch 14 is beingworn by the user and is currently on the user's wrist 10. The watch 16and the companion device 12 can be both near the user. For example, thecompanion device 12 can be in the user's shirt pocket or next to theuser. Similarly, the watch 16, which includes straps 17A and 17B toattach to the user's wrist, can be adjacent to the user. The proximityof the devices allows the Bluetooth radio systems which are used in oneembodiment to communicate as all three devices are within Bluetoothrange of each other. In one embodiment, the user can have the companiondevice 12 in a pocket or briefcase or purse or on a desk while the userremoves the watch 14 and places the watch 16 on the wrist 10. As isdescribed further below, the watches 14 and 16 can be transmittingsignals that indicate on-wrist confidence levels to the companion devicewhich can then decide that the watches have been switched so that thewatch 16 should now be made the active watch and the watch 14, which wasthe active watch while it was on-wrist, will now be made the inactivewatch. Before describing further details about the various embodimentsdiscussed herein, an overview of the hardware of an accessory, such as awatch, will be provided in conjunction with FIG. 2.

The watch 201 in FIG. 2 can include one or more processors 203 which arecoupled through one or more buses 204 as is known in the art to the restof the components of the watch. Those additional components can includeone or more sensors 206, a touch screen display 205 which both displaysimages to the user and also can receive touch inputs on the screen ofthe display as is known in the art. In addition, the watch 201 caninclude a Bluetooth radio system 207 and a WiFi radio system 208. Thewatch 201 also includes one or more memories 210 which can include flashmemory, DRAM memory and ROM memory as is known in the art. Thesememories can store data, such as wrist states and also store executablecomputer program instructions which can cause the watch to operate asdescribed herein. In addition, the watch 201 can include audioinput/output 209 such as a microphone and one or more speakers 209. Thesensors 206 can include one or more accelerometers or motion detectorsor orientation detectors or other sensors which can sense when a wristis raised or lowered. The sensors 206 can also include sensors thatsense a proximity to a wrist or sense reflections from a wrist, such asLED based sensors that generate LED light and then sense reflected LEDlight that has been reflected by the wrist's skin. These sensors can beused as described herein to determine the on-wrist state or on-wristconfidence level which then can be transmitted to a companion device,such as the companion device 12 shown in FIG. 1. It will be appreciatedthat other types of sensors can also (or alternatively) be used such asa sensor in a buckle; see for example published PCT ApplicationPCT/US2014/01451 (International Publication No. WO 2015/116163). Thewatch 201 can represent the hardware and software architecture ofwatches 14 and 16 in FIG. 1 or watches 251 and 253 shown in FIG. 3.Similarly, the watch 201 shown in FIG. 2 can be used to implement thewatches 403 and 405 in FIG. 4 and the watches 1010 and 1012 in FIG. 10.

Referring now to FIG. 3, a set of devices 250 can include a companiondevice 255, a watch 251, and a watch 253. The watch 251 is the currentlyactive paired watch while the watch 253 is the inactive paired watch.The active paired watch is shown on the user's wrist 2 while theinactive paired watch may be in the user's purse or pocket or on a tablenext to the user. A companion device 255 may be in the user's pocket orpurse or briefcase or near the user on a table which is near the user.In the example shown in FIG. 3, the watches 251 and 253 are within radiorange for the Bluetooth systems that are contained within each of thewatches 251 and 253 and also within the companion device 255. In oneembodiment, the companion device 255 can be a smartphone or otherconsumer electronic device. While the watch 251 is within Bluetoothradio range of companion device 255, the watch 251 can repeatedlytransmit one or more wrist state values indicating an on-wristconfidence level of the watch 251. These transmissions can occur usingan encrypted communication protocol which operates on top of theBluetooth communication system and utilizes the Bluetooth communicationsystem. While the watch 253 is within Bluetooth radio range of thecompanion 255, one or more wrist state values can be transmitted by thewatch 253. In one embodiment, these transmissions can occur throughBluetooth advertisements which can include an advertising identifier aswell as the wrist state value determined by the watch 253 based upondata from the one or more sensors in watch 253, such as one or moresensors 206. In one embodiment, the companion device (e.g. companiondevice 255) can be paired with many other devices (such as Bluetoothspeakers, Bluetooth earphones, Bluetooth keyboards, etc.) in addition tobeing paired with two watches (such as watches 251 and 253). It will beunderstood that the companion device is configured to perform one ormore methods described herein for the two watches while the companiondevice does not perform these methods for the other paired devices thatare not configured to switch (and synchronize) in the manner describedherein.

FIG. 13 provides an example of wrist state values. In that example, thewrist state can have four possible values shown as zero, low, medium,and high. Zero represents a state in which the sensors provide outputsfrom which the watch determines that it is not on the user's wrist. Thelow value indicates a low on-wrist confidence level. The medium valueindicates a medium on-wrist confidence level, and the high valueindicates a high on-wrist confidence values. In an alternativeembodiment, fewer or more values can be used to indicate on-wristconfidence levels. For example, in one embodiment, if wrist detection(such as operations 521 and 523 in FIG. 5B) is disabled on an accessory,the accessory can set its wrist state to a medium high level that isbetween the medium and high confidence levels. When wrist detection isdisabled on the accessory, the accessory does not attempt to determinewhether it is on-wrist, and the sensors described herein are not used toperform wrist detection. In one embodiment, when the accessory sets itsstate to medium high, the accessory prevents any elevation to the highconfidence level (in order to prevent its state from being locked in thehigh confidence level). In one embodiment, if multiple accessories havetheir wrist detection disabled and are in Bluetooth radio range of thecompanion device, the companion device will keep active whichever one ithas designated as active as long as that accessory remains in radiorange and when it leaves radio range the companion device will switch toa next accessory in radio range and having the oldest medium high level.In one embodiment, a user can trigger a manual switch through a userinterface on the companion device (even if the automatic option 803 inFIG. 8 is selected) if any of the paired accessories has wrist detectiondisabled; this would allow a user to trigger a switch if the automaticswitching methods described herein fail when wrist detection isdisabled. In one embodiment, manual switching is blocked when theautomatic option 803 is selected and all paired watches have wristdetection enabled.

In one embodiment, a combination of data from different sensors can beused to derive the on-wrist confidence level. In one embodiment, datafrom an accelerometer may indicate the raising or lowering of a wristand data from sensors to detect reflected or absorbed light from theuser's skin (or other body part) on the user's wrist can be combinedtogether to derive the different wrist states such as the four wriststates shown in FIG. 13. It will be appreciated that other types ofsensors may also be used either alone or in combination. For example, aclasp detector (e.g. a detector on the watch's buckle) or detectors usedto detect a pulse or heart rate can also be used.

While this description focuses on watches attached to (or removed from)wrists, in one other embodiments the phrase “wrist states” is generallymeant to refer to a state of a position of an accessory (e.g., a headmounted display) relative to a body of a user of a companion device.Thus, the phrase “wrist state” can also include states that indicate aconfidence level of being on head (or off head), etc.

The wrist state value can be computed in a variety of different waysbased upon one or more outputs from one or more sensors such as sensors206 in FIG. 2. In one embodiment that uses one or more sensors (e.g. anaccelerometer) to detect the raising and lowering of the wrist and alsouses one or more sensors to detect radiation reflected off of (orabsorbed by) the wrist, such as the wrist's skin (which can be referredto as a wrist detection by a wrist detector sensor), the wrist statevalue can be derived as follows. This approach uses a combination ofsensors that repeatedly over time produce outputs and these outputs areused to determine the wrist state value. When the accelerometer detectsthe raising or lowering of the wrist after the wrist detector senses thewrist's skin (or other body part such as blood) then the wrist statevalue is set to high. When the wrist detector senses the wrist's skin(or other part) but the accelerometer has not detected a wrist raised orlowered in a period of time (for example, the last 6 seconds), then thewrist state value is set to medium. When the accelerometer detects awrist raise or lowering which occurred in the last period of time, suchas the last 6 seconds, but the wrist detector does not sense the skin(or other body part) of the wrist, then the wrist state value is set tolow. The value of zero for the wrist state is set if the accelerometerdoes not detect a wrist raise or lower in the last period of time, suchas the last 6 seconds and the wrist detector does not sense the wrist'sskin (or other body part). These wrist values can be repeatedlydetermined over time and will most likely change if the user removes oneon-wrist watch and replaces it with another. In one embodiment, anadditional wrist state value may be provided based upon a detected touchof the watch's touch screen or other detected user interaction with thewatch. If this detection (e.g. of a finger on the touch screen) occursin combination with the detections that produced the high wrist statevalue then the system can produce this additional wrist state valuewhich can be characterized as extra high. It will also be appreciatedthat in other embodiments, “gestures” or wrist movements other thanraising or lowering can be used such as shaking or twisting of thewrist, etc.

In one embodiment, the companion device, such as companion device 255can repeatedly over time scan for wrist state values from at leastinactive paired watches, in addition to receiving wrist state valuesfrom the active paired watch. In one embodiment, the companion devicemay not always scan for watches; for example, in one embodiment, if thewrist state value for the active watch is continually high indicatingthe watch has a high on-wrist confidence level, the companion device maynot scan for other watches. In particular, the companion device can beconfigured to scan when the active watch is connected as the activewatch with the medium or lower confidence level, but if the active watchis connected with higher than a medium confidence level then thecompanion device may be configured to not scan for multiple watches.This can help to conserve battery power on the companion device if thecompanion device is powered by a battery.

FIG. 4 shows a series of states which occur over time as a user switchesfrom a first watch to a second watch using one or more of theembodiments described herein. In state the companion device is asmartphone 401 which is currently in a locked state. The companiondevice 401 can receive wrist state values from watch 405 (the secondwatch) which is not being worn and therefore is inactive. These wriststate values can in one embodiment be sent through Bluetoothadvertisements which are known in the art and which are shown asBluetooth advertisements 409. These advertisements can be received bythe companion device 401 when the device scans for Bluetoothadvertisements from the inactive watches. The active watch, which iswatch 403 (watch 1), can have an encrypted communication protocolchannel set up to provide data back and forth between the watch 403 andthe companion device 401. For example, synchronization data 407 may betransmitted between the devices in either direction through thischannel. In one embodiment, health synchronization data can betransmitted from watch 403 to the companion device 401 as part of thesynchronization data 407 even when the companion device 401 is locked.The locked state normally requires a user's security input to unlock thedevice to allow the device to receive further user input. When thedevice is locked, the device expects the user's security input and if itdoes not receive it, it will continue to remain in the locked statepreventing the user from using the companion device (although in someembodiments certain limited actions such as making an emergency phonecall or using a camera may be permitted while in the locked state). Inone embodiment, the user's security input is any one of: a password; anumeric passcode; a two dimensional gesture on a touchscreen of thecompanion device; a biometric input such as a fingerprint, voice inputfrom the user, retina scan of the user's eye, or an image, such as animage of the user's face. In one embodiment, the user's security inputcan be a combination of two or more of; a password; a numeric passcode;a gesture on a touchscreen; or a biometric input. As is known in theart, companion devices can be set up so that after a period of time ofinactivity on the device, the device will automatically become lockedand enter a low power state while it is locked. For example, when asmartphone is placed in a user's pocket or purse, after a period oftime, the smartphone can be configured to enter the locked state andalso enter reduced power state as is known in the art. It will beappreciated that embodiments described herein can also work when thecompanion device is unlocked even though in all instances shown in FIG.4 the companion device remains locked throughout the different statesshown in FIG. 4.

State 2 of FIG. 4 shows that the user has removed watch 1 (watch 403)and has attached watch 405 to the user's wrist. The sensors on each ofthe watches can determine the removal and attachment from outputs of thesensors and provide the different wrist state values to the companiondevice 401. In state 1, watch 403 would normally have a high on-wristconfidence level shown by its wrist state values while watch 405 wouldhave a lower on-wrist confidence level shown by its wrist state valueswhich are transmitted to the companion device 401. In state 2, watch 405begins to transmit higher on-wrist confidence levels than watch 403.After a short period of time, the companion device 401 can determinefrom the change in on-wrist confidence levels that watch 405 has beenattached and watch 403 has been removed. In response, the companiondevice 401 can begin the operation of switching the watchesautomatically without requiring any user input other than physicallyremoving one watch and attaching the other. In one embodiment, prior toinitiating the switch or concurrently with initiating the switch, thecompanion device 401 provides a last chance opportunity for watch 403 toprovide synchronization data from the watch 403 to the companion device.In one embodiment, this data can include health data not previouslytransmitted to the companion device 401 so that the companion device 401can store the latest available health data from watch 403 which can thenbe made available to the new active watch which in this case is watch405. One way in which this new data (e.g. latest or near latestavailable health data) can be made available to the watch 405 is throughthe synchronization with the side store process 412 shown in state 3 andwhich is described further below. The roles of the watches have now beenchanged (in state 3) and now watch 403 begins to transmit its wriststate values through Bluetooth advertisements 411 and the companiondevice 401 can receive those advertisements when it scans for Bluetoothadvertisements.

This switch between watches can occur, in one embodiment, while thecompanion device is locked and in a sleep state (e.g. the touchscreendisplay is off) and while both watches are locked and in a sleep state.This switch between watches causes the two watches to operatedifferently. The inactive watch can become locked and stop collectinghealth data and enter a sleep state and no longer provide accessoryfunctionality (e.g. notifications) after the switch (or during theswitch). The active watch can now use the established (encrypted)communication channel to provide accessory functionality such asnotifications to the user and collect and transmit health data to thecompanion device. Moreover, apps on the new active watch can be used bythe user (while apps on the inactive watch will not be used by theuser).

FIG. 5A shows a method which can be performed by a companion deviceaccording to one or more embodiments described herein. This companiondevice can be a companion device 12 or 225 or 401 which can also performthe methods shown in FIGS. 7 and 9 in one embodiment. As shown inoperation 501, the companion device can receive one or more wrist statesfrom one or more inactive paired watches and also receive one or morewrist states from the active paired watch. The transmissions from theinactive paired watches may be Bluetooth advertisements which includeone or more wrist state values in the payload of those advertisements,and the wrist state values from the active paired watch may be providedthrough an encrypted communication protocol implemented on top of theBluetooth connection. Concurrently with receiving the wrist states fromthe active paired watch, the companion device may also receive healthdata or other data from the active paired watch, and this data can bestored in one or more synchronization databases as is described furtherbelow. During operation 501, the active paired watch and the companiondevice can operate as is known in the art. For example, phone calls maybe received in the companion device if the companion device is asmartphone and the watch can provide notifications of entails,voicemails, text messages, and other prompts to the user. In addition,those devices can receive user inputs through, for example a touchscreenor the user's voice to cause each device to perform operations basedupon the executing programs in each of the devices. In one embodiment,it is assumed that the currently active paired watch is periodicallyproviding data for purposes of synchronization, and particularly forpurposes of synchronizing health data for use by currently inactivewatches which could become active at some point in the future.

In operation 503, the companion device determines that the first pairedwatch has been removed and determines that the second paired watch hasbeen attached to the user's wrist, in one embodiment, this can bedetermined by comparing the on-wrist confidence levels of the twowatches, where each on-wrist confidence level is based on the mostrecent wrist state values received from each watch by the companiondevice. A companion device may be configured (for example by software)to implement the truth table shown in FIG. 6. The table 601 shown inFIG. 6 has entries 603, 605, 607, 609, 611, and 613 which indicatewhether or not to switch between the watches depending upon on-wristconfidence levels received from the watches. The entries 603 and 609 aresituations where the wrist state values are identical and a tie hasoccurred for the two watches. In addition, the truth table 601 alsotakes into account whether or not the current active watch (“selectedwatch”) is within range of the companion device.

In one alternative embodiment, a watch may be configured to temporarilyspoof its wrist state value if it is in active communication which ispart of a synchronization process or some other process. In particular,the active paired watch may be configured to send to the companiondevice a high wrist state value for a predetermined short period of time(even if it has detected removal and its true wrist state value ismedium or low or zero) if the active paired watch is in the process ofactive synchronization or other designated process which is provided theprivilege of additional time to complete the communication prior toswitching to the currently active paired watch to an inactive status.

In operation 505, the companion device initiates the switch of theactive watch. In one embodiment, the companion device can delay theconnection switch to allow a last chance synchronization of health dataor other data with the first paired watch. FIG. 7 provides an example ofa particular embodiment in which the switch is performed by a set ofsoftware components on the companion device.

In operation 507, the companion device can then transmit data to the newactive paired watch, and this data can include data obtained from thesynchronization with the first watch, such as health data transmittedduring the last chance synchronization (e.g., last chancesynchronization 410 shown in FIG. 4). The transmission of this data inoperation 507 can in one embodiment be performed even when the companiondevice is locked so that the newly active paired watch can receive allof the most recent data from the prior active watch, including healthdata while the companion device remains locked. Moreover, in oneembodiment, the second paired watch (the newly active paired watch) inoperation 507 can receive the transmitted data while that watch is alsoin a locked state, which is similar to the locked state of the companiondevice in that the user's security input is required on the watch tounlock the watch.

FIG. 5 shows a method which can be performed by a paired watch which isinitially an inactive watch and then becomes the active watch after aswitch. Thus, the method shown in FIG. 5B can be performed by the watch405 shown in FIG. 4. In operation 521, the inactive watch can collectdata from one or more sensors on the watch such as one or moreaccelerometers and one or more LED sensors which sense radiationreflected from the wrist's skin (or other body part). Then in operation523, the watch determines the wrist state from the data collected fromthe sensors, and then transmits that wrist state in operation 525 in oneor more Bluetooth advertisements to the watch's paired companion device.The Bluetooth advertisements can include the wrist state as a payload inthe Bluetooth advertisement and the Bluetooth advertisement can have arotating advertising identifier which is shared with all of the pairedwatches which have been paired with the companion device. The rotatingof the advertising identifier is a process known in the art and each ofthe watches and the companion device are configured to rotate throughthe advertising identifiers in a known sequence with predetermined timesat which the identifiers change.

At some point between operation 525 and operation 527 the companiondevice decides that the user has removed the active watch and replacedit with the inactive watch. For example, the companion device performsoperation 503 between operations 525 and 527. In turn, the companiondevice transmits a request which is received by the watch in operation527, and this is a request to establish active encrypted communicationon Bluetooth with the companion device. After operation 527 establishesan active encrypted communication channel with the new active pairedwatch, then the watch can receive data in operation 529 from thecompanion device where the data originated from the prior active watch.For example, this data can include health data or other data providedduring synchronization including, fir example, the last chancesynchronization such as last chance synchronization 410 shown in FIG. 4.In one embodiment, after operation 529, data for applications other thana health application can be synchronized in operation 531, and furtherdetails about the synchronization are provided in connection withoperation 713 of FIG. 7. It will be understood that the word “app” is anabbreviation of application which is a form of a software program.

Referring now to FIG. 7, the companion device can implement a specificmethod using various software components on the companion device tocause the switch to occur. This method can begin in operation 701 inwhich the companion device decides to switch the active watch. This canbe similar to the operation 503 of FIG. 5A. In response to this decisiona launcher process can stop all watch daemons for all paired watches andlock them from starting again. In one embodiment, the process launchercan be the software component known as launchd which is in the OS X andiOS operating systems from Apple Inc. of Cupertino, Calif. A switchsequencer software component in operation 705 can then send anotification that a switch will occur to software that is not watchspecific. Then in operation 707 a transport layer is instructed toswitch by the switch sequencer, and in operation 709, the switchsequencer notifies the process launcher to unlock the watch daemonsafter an encrypted communication channel has been established with thenew active watch and the prior encrypted communication channel with theprior active watch has been torn down. Then in operation 711, the switchsequencer sends out notifications that the new watch is now the activewatch. A synchronization coordinator in operation 713 receives thatnotification and then can start up the unlocked watch daemons as clientsof a synchronization controller such as a paired sync software componentthat can control when and how, in an ordered sequence, a series of appsare allowed to synchronize their data between the companion device andthe new active paired watch. By using a sync controller to controlsynchronization, the synchronization process can be managed so thatthere is an orderly process that prevents every app from attempting tosynchronize immediately, thereby affecting the usability of the watch orthe companion device.

FIG. 9 shows a method according to one embodiment which attempts toprevent a race condition between two watches which could cause thecompanion device to switch quickly and repeatedly between two watches.The method shown in FIG. 9 can be performed in conjunction with themethod shown in FIG. 5A. In operation 901, the companion device receivesone or more wrist states from watches and determines, based on thosewrist states, to switch to another watch, such as a switch from a firstwatch to a second watch. In one embodiment, the wrist states can beincluded in Bluetooth advertisements from the watches. In operation 903,the companion device triggers the switch to the new watch, and inoperation 905, the companion device starts a timer, when it triggers theswitch and stops scanning for Bluetooth advertisements. In oneembodiment, the timer can count down from 10 seconds such that itbecomes a 10 second timer which expires after 10 seconds from starting.Then in operation 907, the companion device determines whether the newwatch has successfully connected and has communicated its wrist statebefore the timer expires. If the companion device determines fromoperation 907 that the new watch has not successfully connected andcommunicated its wrist state before the expiration of the timer, thenthe companion device performs operation 909 in which it stops the timerand starts scanning again for Bluetooth advertisements. Operation 909,in one embodiment, assumes that the new watch has been disconnected oris not on-wrist but it will be still treated as the active watch forpurposes of future processes in which the companion device attempts todetermine which watch is active. If operation 907 determines that thenew watch has connected successfully and has communicated its wriststate before the timer expired then operation 910 follows in which thecompanion device stops the timer and starts scanning for Bluetoothadvertisements again but in this case the new watch is treated as theactive watch. Both of operations 909 and 910 can cause the companiondevice to repeat back to operation 901 to continue a process to monitorthe watches.

While the companion device performs the methods described herein (suchas those methods shown in FIGS. 5A, 7 and 9), an accessory can operatewith different levels of advertising (such as aggressive levels whichare more frequent than non-aggressive levels), and switching betweenthese different levels over time on the accessory can conserve power onthe accessory. For example, in one embodiment, an accessory canadvertise aggressively only when its application processor (such as oneof the processors 203 that execute user applications that displaycontent on the touch screen display 205) is awake and can advertisenon-aggressively when its application processor is asleep; in oneembodiment the non-aggressive advertising can be further limited tooccur only when its application processor is asleep and the accessoryhas information that indicates the companion device is paired withmultiple switching accessories (in a group of accessories that performautomatic switching and synchronization as a result of the automaticswitching). This information about paired accessories is normallymaintained on the companion device and can be transmitted to each pairedaccessory when the accessory becomes the active accessory; the accessorycan use this information to determine whether to non-aggressivelyadvertise when its application is asleep. If the accessory determinesthat the information indicates that the accessory is one of multipleswitching accessories (that are grouped in a group of accessories thatcan switch between themselves and synchronic data among them through thecompanion device) and determines that its application processor isasleep then the accessory can non-aggressively advertise for a period oftime such as a predetermined period (e.g. at least 5 minutes but lessthan 8 minutes). In one embodiment, an accessory such as a watch cancycle through aggressive and non-aggressive advertising by beginningwith aggressive advertising in response to the application processor(AP) becoming awake (e,g in response to a wrist raise movement that issensed by sensors on the accessory which cause the AP to awake from asleep, low power state) and then transiting to non-aggressiveadvertising in response to the earlier to occur of: the AP goes back toa sleep state or a period of time (such as a predetermined period of 4seconds) has elapsed since the accessory began aggressively advertising,and then the accessory can continue non-aggressively advertising for aperiod of time and stop after the period of time (or transition toaggressive advertising if the AP awakes from a sleep state). The timesused in the timers can be varied to achieve desired results. Forexample, shorter times which limit power consumed can be balancedagainst a desire to detect switches when they occur (for an improveduser experience), and shorter times also improve user privacy as itbecomes harder for an attacker to track a user.

In one embodiment, a companion device and its set of paired watches canperform the methods described herein for switching between the watcheswithout any user input or user action other than the user physicallyremoving one watch and attaching another while both watches are withinBluetooth radio range (or range of other wireless communication system)of the companion device. In other words, the process can beautomatically performed by the set of devices without an explicit inputfrom the user that a switch of watches is supposed to occur. Moreover,the switch can occur while the companion device is locked and while oneor both of the paired watches are locked. In an alternative embodiment,the companion device may allow the user to select between eitherautomatic switching of watches or manual switching of watches. Thisselection may be provided to the user through a graphical user interfacewhich is displayed on a touchscreen or the companion device or atouchscreen of a paired watch which is active or both. FIG. 8 shows anexample of a graphical user interface 801 which can be displayed on atouchscreen of a companion device or watch. The user interface caninclude mutually exclusive options automatic 803 and manual 805. Theuser can select one of the two options or modes by, for example,touching one of the two options such as option 803 for automatic (whichcan use the methods shown in FIGS. 5A and 5B) or option 805 for manual.In the example shown in FIG. 8, the user or the system has selectedoption 803 as shown by the dot 804 within the circle of option 803. Ifthe user touches the manual option 805, then the dot would appear in thecircle for manual 805 and would not appear in the circle for automaticoption 803. If the user selects manual operation, then a separate userinterface can be provided to allow the user to initiate and complete aswitch between watches (rather than an automatic process performed bywatches and a companion device without requiring user input).

In one embodiment, when automatic option 803 is selected the companiondevice can scan for accessories and perform the methods shown in FIGS.5A, 7 and 9. When the manual option 805 is selected the companion devicecan stop scanning for accessories although the accessories can continueto advertise their identifiers so that a user can manually switchbetween the accessories.

FIGS. 10 and 11 show another aspect of the embodiments described hereinin which a side store database is used to synchronize a new active watchwith data, such as health data, from a prior active watch. In oneembodiment, this synchronization can occur even if a companion device islocked during the switch between the watches. FIG. 10 shows a portion ofa companion device 1001, and in particular shows the non-volatile(persistent) storage 1003 of the companion device 1001. In oneembodiment, the non-volatile storage 1003 can be flash memory of asmartphone which stores the operating system and platform applicationsand data of the smartphone. The storage 1003 can also store two separatedatabases for use with one or more embodiments described herein. Inparticular, database 1005 is a restricted access database storingsensitive data, such as health data of the user. The health data can begenerated by each of the user's watches and provided to the database1005 during synchronization operations, such as the synchronizationcommunication 407 shown in FIG. 4. In addition, the last chancesynchronization, such as last chance synchronization 410 shown in FIG. 4can also result in the storage of health data in the database 1005. Oncedata is stored in the database 1005, the data cannot be accessed whenthe companion device is locked. This can be achieved by discarding thekeys stored in DRAM, which keys are used to decrypt the data stored indatabase 1005. A database 1007 can also be used and stored on storage1003. This database 1007 represents a side store database containingdata which can be used to synchronize inactive watches in the futurewhen those inactive watches become the active watch. In one embodiment,the database 1007 can be used by a transport layer software componentthat establishes the encrypted communication protocol over Bluetoothbetween the active paired watch and the companion device.

FIG. 11 shows an example of a method which can be performed with thecompanion device 1001 and the watches 1010 and 1012 shown in FIG. 10. Inoperation 1101, the companion device can receive data from a firstpaired watch, such as watch 1010 that is paired with the companiondevice, such as companion device 1001, where the first paired watch isthe current active watch. Thus, watch 1010 is initially the currentactive watch and provides data from that watch for purposes ofsynchronization with the companion device and with inactive watcheswhich may become active in the future. The received data can be storedin operation 1103 in a first store which can be a restricted accessdatabase, such as the database 1005. In the example shown in FIG. 10,the received data stored in operation 1103 can be data 1015 stored inthe database 1005. Once data 1015 is stored in database 1005, it cannotbe accessed while the companion device is locked. In one embodiment,data 1015 can be stored in the database 1005 while the companion deviceis locked while in another embodiment it can remain in DRAM in anencrypted state. At or around the same time that the data 1015 is storedin the database 1005, data 1017 is stored in the side store database1007 for use in synchronizing currently inactive watches which maybecome the active watch in the future, such as watch 1012. This is shownas operation 1105 in FIG. 11 in which the received data is stored in asecond store, which in this case is database 1007 for use insynchronizing currently inactive paired watches once they become theactive watch. In one embodiment, data 1017 can be encrypted with apublic key of each of the inactive watches, and this encrypted data canbe decrypted by the inactive watch using the private key of the inactivewatch, such as watch 1012. In this case an asymmetric cryptographic keysystem can be used such as the well known public key/private keyencryption and decryption methods. In an alternative embodiment the data1017 can be encrypted with a symmetric key and the symmetric key isencrypted with the public key of each of the inactive watches; in thisalternative embodiment, the data 1017 includes both the encryptedsymmetric key (which was encrypted with the inactive watch's public key)and the encrypted data (e.g. health data from active watch which wasencrypted with the symmetric key) while the data 1015 does not need toinclude the encrypted symmetric key (which was encrypted with theinactive watch's public key). If there are multiple inactive watches,then the data 1017 in the side store will include the encrypted data(encrypted by the symmetric key) and the encrypted symmetric key foreach inactive watch. In one embodiment, the storage of data 1017 in thedatabase 1007 can occur while the companion device is locked, and thisdatabase provides a mechanism to provide updated synchronizationinformation, such as updated health information or health data to watch1012 after it becomes the active paired watch. This is shown inoperation 1107 in which at least a portion of the data in the secondstore, such as data 1017 is transmitted to the second paired watch inresponse to the second paired watch becoming the active paired watch,and this transmission can be performed while the companion deviceremains locked and even while the second paired watch is locked. This isalso shown in FIG. 4 in which the side store synchronization 412 isperformed for watch 405 which has become the active watch.

In one embodiment, the new active watch can decrypt the portion of thedata that it received from the side store in response to unlocking thenewly made active watch, such as watch 1012. In one embodiment, the newactive watch uses its private key (which is paired with the public keyused to encrypt the symmetric key) to obtain the symmetric key and thencan decrypt the data using the symmetric key. It will be appreciatedthat watches 1010 and 1012 can be similar to watches 403 and 405 andthey progress through the states shown in FIG. 4. Thus, watches 1010 and1012 can transmit their wrist state values which can cause the companiondevice 1001 to decide to switch from watch 1010 as the active watch towatch 1012 as the next active watch. In one embodiment, the data 1017,which can include health data, may not include synchronization anchorswhile the data in database 1005 does include synchronization anchorswhich can be used in the synchronization processes that are known, inthe art. In this case, when the companion device becomes unlocked fromthe locked state, the data in the database 1007 which represents a sidestore for future synchronizations with inactive watches can be updatedwith the synchronization anchors from database 1005 so that they can beused for synchronizing inactive watches in the future. The companiondevice can be unlocked by receiving the user's security input as hasbeen described herein.

Another aspect of the embodiments described herein is shown in FIGS. 12and 13. In this aspect, a companion device shown in FIG. 12 canimplement a filter using hardware or a combination of hardware andsoftware to provide a filter logic that filters out messages from thewatches, such as the wrist state values and the advertising identifiervalues contained in the radio signals. This filtering out process canprevent one or more application processors from waking up from a sleepstate which can conserve battery power. Additionally, the one or moreapplication processors may enter a sleep state when the companion deviceis locked and these one or more application processors can be the mainprocessors of the companion device and can execute the operating systemsoftware and the user applications that present content to the user andreceive user inputs through a touchscreen input of companion device. Thecompanion device shown in FIG. 12 can be the companion device 401 or thecompanion device 255; further, the companion device shown in FIG. 12 canperform the method shown in FIG. 5 as well as the methods shown in FIGS.7 and 9 to allow for automatic and seamless switching between a set ofpaired watches or other paired accessories. Moreover, the companiondevice shown in FIG. 12 can use the method of FIG. 11 in conjunctionwith the storage architecture shown in FIG. 10 to allow for the use of aside store to provide for side store synchronization, such as side storesynchronization 412 shown in FIG. 4. It will be appreciated that thecompanion device shown in FIG. 12 is shown with only some of itscomponents in a typical implementation. In particular, one or moreapplication processors 1201 is coupled to memory 1203 through one ormore buses 1211. In addition, a Bluetooth radio system 1205 is coupledto the remainder of the system through one or more buses 1211. Inaddition, the companion device shown in FIG. 12 can also include a WiFitransceiver, and a cellular telephone transceiver, as well as a displaywhich has an integrated touchscreen on the display as is common withsmartphones. It will be appreciated that memory 1203 can include one ormore memories known in the art including DRAM memory, ROM memory, andflash memory or other non-volatile (persistent) storage.

The Bluetooth radio system 1205 can include a Bluetooth radiotransceiver 1209 and a Bluetooth controller 1207 which is coupled to theBluetooth transceiver 1209. The Bluetooth controller 1207 is in turncoupled through one or more buses 1211 to the one or more applicationprocessors 1201 and to memory 1203. The application processors 1201 canprovide data to the Bluetooth controller 1207, such as valuesrepresenting wrist states for processing by filter logic which can beimplemented within the Bluetooth controller 1207. For example, theapplication processors can provide, in one embodiment, the last wriststate value from the active watch that was received by the one or moreapplication processors; this last wrist state value can be provided tothe Bluetooth controller 1207 before the application processors enter asleep state.

The Bluetooth transceiver 1209 can be configured to receive one or morewrist states from an active paired watch and one or more wrist statesfrom one or more inactive paired watches and provide these wrist statesto the Bluetooth controller 1207. The Bluetooth controller 1207 can beconfigured, through the falter logic to prevent waking up of the one ormore processors 1201 from one or more sleep states when all of the oneor more inactive paired watches have a wrist state that indicates alower on-wrist confidence level than a most recent wrist state from theactive paired watch. This most recent wrist state of the active watchcan be the last wrist state value of the active watch that was providedby the application processor(s) to the Bluetooth controller 1207 beforethe application processor(s) enter a sleep state. In this way, thefilter logic filters out wrist states which indicate that the currentactive paired watch has remained the active watch as it has continued tohave the highest on-wrist confidence level relative to all other watcheswhich have sent wrist state values. The Bluetooth controller 1207 isalso configured, through the filter logic, to wake up the one or moreapplication processors 1201 from a sleep state when anyone of the one ormore inactive paired watches has a wrist state that indicates a higheron-wrist confidence level than the most recent wrist state from theactive paired watch. This allows the one or more application processorsto remain in a sleep state, which is a reduced power consumption moderelative to a run state of those processors while the Bluetooth radiosystem continues to scan for any possible switches of the pairedwatches. In addition, the Bluetooth controller 1207 also filters outadvertisements from watches that do not have the same advertisingidentifier so that the application processor is not woken up for watchesthat are not paired with the companion device. This can be implementedby having the companion device and the watches that are paired with thecompanion device share the same advertising identifier so that thecompanion device can filter out advertising identifiers contained in theBluetooth advertisements which do not match the shared advertisingidentifier. As noted above, this advertising identifier can be rotatedover time through a known sequence of values at predetermined timesknown to the companion device and all of its paired watches. In oneembodiment, the watches are paired with the companion device through aconventional Bluetooth pairing process.

FIG. 13 shows an example of the filter logic which can be used to filterout all of the situations in which the current active watch continues tohave the highest on-wrist confidence level. In one embodiment, thefilter logic can be configured to receive a binary payload containedwithin the Bluetooth advertisement. As is known in the art, theBluetooth advertisement can include an advertising identifier as well.The binary payload represents one of the possible wrist state valuesthat can be received by the Bluetooth radio 1209 and processed by theBluetooth controller 1207. In particular in this embodiment, the binarypayload which is 00000000 is assigned a wrist state value of zero whilethe binary value of 00000011 is assigned a wrist state value of low andthe binary value of 00001111 is assigned a wrist state value of medium,and the binary value 00111111 is assigned the wrist state value of high.The unused binary values can be used in future implementations in whichadditional wrist state values may be used (such as the extra high wriststate value described herein or a medium high level that can be used inone embodiment only when wrist detect on the companion device is set tooff). If the current active paired watch has a wrist state of medium(shown by reference 1249) then the Bluetooth controller 1207 can beconfigured with filter logic to require a 1 in column 1250 of the binarypayload as shown in FIG. 13. In this way, the filter logic in theBluetooth controller will only assert an interrupt to wake up the one ormore processors 201 when a 1 appears within the column 1250 in a statewhere the current active watch has a wrist state of medium (assuming theBluetooth advertisement also includes the proper advertising identifierwhich in one embodiment is shared with all paired watches in thecompanion device). If the Bluetooth controller 1207 causes the interruptto be generated to wake up the application processors 1201, then the oneor more application processors do wake up to cause a switch to occur asdescribed herein.

The various embodiments described herein can be implemented in anarchitecture in which only one watch is permitted to be the activewatch. In an alternative embodiment, the various methods and systemsdescribed herein can be used in an architecture which permits multipleactive paired watches. The various embodiments described herein canalternatively use wireless communication systems that are different thanBluetooth (such as WiFi or Zig Bee).

In the embodiments described above, the new active watch is synchronizedwith data, such as health data that originated from the prior activewatch, that is provided from the companion device (such as the sidestore on the companion device). In an alternative embodiment, this datacan be provided to the new active watch from a different source, such asa server coupled to a network or directly from the prior active watch.

FIG. 14 shows one example of a data processing system, which may be usedwith any one of the embodiments described herein. Note that while FIG.14 illustrates various components of a data processing system such as acompanion device or a paired accessory, it is not intended to representany particular architecture or manner of interconnecting the componentsas such details are not germane to this description. It will also beappreciated that consumer electronic devices and other data processingsystems which have fewer components or perhaps more components may alsobe used with one or more embodiments described herein.

As shown in FIG. 14, the computer system 1400, which is a form of a dataprocessing system, includes a bus 1403 which is coupled to one or moremicroprocessor(s) 1405 and a ROM (Read Only Memory) 1407 and volatileRAM 1409 (e.g. DRAM) and a non-volatile memory 1411. The one or moremicroprocessors 1405 are coupled to optional cache 1404. The one or moremicroprocessors 1405 may retrieve stored computer programs instructionsfrom one or more of the non-transitory memories 1407, 1409 and 1411 andexecute the instructions to perform operations described above. Thesememories represent examples of machine readable non-transitory storagemedia that can store or contain computer program instructions which whenexecuted cause a data processing system to perform the one or moremethods described herein. The bus 1403 interconnects these variouscomponents together and also interconnects these components 1405, 1409and 1411 to a display controller and display device 1413 and toperipheral devices such as input/output (I/O) devices 1415 which may beone or more of sensors (such as the sensors 206), mice, touch screens,touch pads, touch sensitive input devices, keyboards, dedicated keys(e.g. buttons for volume or mute or home, etc.) modems, networkinterfaces, Bluetooth radio systems, printers and other devices whichare well known in the art. Typically, the input/output devices 1415 arecoupled to the system through input/output controllers 1417 as is knownin the art. The volatile RAM (Random Access Memory) 1409 is typicallyimplemented as dynamic RAM (DRAM) which requires power continually inorder to refresh or maintain the data in the memory.

The mass storage 1411 is typically a magnetic hard drive or a magneticoptical drive or an optical drive or a DVD RAM or a flash memory orother types of memory system which maintain data (e.g., large amounts ofdata) even after power is removed from the system. Typically the massstorage 1411 will also be a random access memory although this is notrequired. While FIG. 14 shows that the mass storage 1411 is a localdevice coupled directly to the rest of the components in the dataprocessing system, it will be appreciated that one or more embodimentsmay utilize a non-volatile memory which is remote from the system, suchas a network storage device which is coupled to the data processingsystem through a network interface such as a modem, an Ethernetinterface or a wireless network. The bus 1403 may include one or morebuses connected to each other through various bridges, controllersand/or adapters as is well known in the art.

The present disclosure recognizes that the use of personal informationdata (such as health data collected by one or more watches), in thepresent technology, can be used to the benefit of users. For example,the personal information data can be used to deliver health relatedinformation or targeted content that is of greater interest to the user.Accordingly, use of such personal information data can enable calculatedcontrol of the delivered content. Further, other uses for personalinformation data that benefit the user are also contemplated by thepresent disclosure.

The present disclosure further contemplates that the entitiesresponsible for the collection, analysis, disclosure, transfer, storage,or other use of such personal information data will comply withwell-established privacy policies and/or privacy practices. Inparticular, such entities should implement and consistently use privacypolicies and practices that are generally recognized as meeting orexceeding industry or governmental requirements for maintaining personalinformation data private and secure. For example, personal informationfrom users should be collected for legitimate and reasonable uses of theentity and not shared or sold outside of those legitimate uses. Further,such collection should occur only after receiving the informed consentof the users. Additionally, such entities would take any needed stepsfor safeguarding and securing access to such personal information dataand ensuring that others with access to the personal information dataadhere to their privacy policies and procedures. Further, such entitiescan subject themselves to evaluation by third parties to certify theiradherence to widely accepted privacy policies and practices.

Despite the foregoing, the present disclosure also contemplatesembodiments in which users selectively block the use of, or access to,personal information data. That is, the present disclosure contemplatesthat hardware and/or software elements can be provided to prevent orblock access to such personal information data. For example, in the caseof health information or advertisement delivery services, the presenttechnology can be configured to allow users to select to “opt in” or“opt out” of participation in the collection of personal informationdata during registration for services. In another example, users canselect not to provide location information for targeted content deliveryservices. In yet another example, users can select to not provideprecise location information, but permit the transfer of location zoneinformation. In yet another example, users can select not to providepertinent health information such as weight, personal characteristics,traits, etc.

In the foregoing specification, specific exemplary embodiments have beendescribed. It will be evident that various modifications may be made tothose embodiments without departing from the broader spirit and scopeset forth in the following claims. The specification and drawings are,accordingly, to be regarded in an illustrative sense rather than arestrictive sense.

What is claimed is:
 1. A non-transitory machine readable medium storing executable program instructions which when executed by a data processing system cause the data processing system to perform a method, the method comprising: receiving, at a companion device, data from a first paired device that is paired with the companion device, the first paired device being the active paired device when the data is received; storing the received data in a first store of the companion device, wherein once the data is stored in the first store, the data cannot be accessed when the companion device is locked; storing the received data in a second store of the companion device, the received data in the second store for use in synchronizing a second paired device with the companion device when the second paired device becomes the active paired device and the first paired device is no longer the active paired device.
 2. The medium as in claim 1, the method further comprising: transmitting at least a portion of the data in the second store to the second paired device in response to the second paired device becoming the active paired device.
 3. The medium as in claim 2 wherein the second paired device decrypts the portion of the data in response to unlocking the second paired device.
 4. The medium as in claim 2 wherein the first paired device is a first watch that is treated as the active paired watch when the data is received and wherein the first store and the second store are different databases.
 5. The medium as in claim 4 wherein the data comprises health data and wherein the second paired device is a second watch and the companion device is one of either a smartphone or a tablet computer.
 6. The medium as in claim 5 wherein the first paired device transmits its wrist state when it is the active paired device and the second paired device transmits its wrist state in a Bluetooth advertisement message.
 7. The medium as in claim 6 wherein the data is stored in the first store in an encrypted state.
 8. The medium as in claim 7 wherein when the companion device is unlocked from the locked state, the health data in the second store is updated with at least synchronization anchors for use in synchronizing inactive watches.
 9. The medium as in claim 7 wherein the health data in the second store does not include synchronization anchors.
 10. The medium as in claim 7 wherein access to data in the first store is prevented when the companion device is locked by discarding the key used to decrypt the data.
 11. The medium as in claim 7 wherein the companion device is locked when the data is stored in the second store and when the at least a portion of the data in the second store is transmitted to the second paired device.
 12. The medium as in claim 11 wherein the companion device is unlocked from the locked state by a user's security input which is one of: a password; a numeric passcode; a 2-D gesture on a touch screen; or a biometric input.
 13. A non-transitory machine readable medium storing executable program instructions which when executed by a data processing system cause the data processing system to perform a method comprising: scanning, by a companion device, for one or more wrist states from one or more paired accessories; determining, based on a difference in wrist states, that a switch between accessories has occurred, the switch being to a second accessory from a first accessory; starting a timer in response to determining that the switch occurred; ceasing, during a period of time before the timer expires, scanning for wrist states of other accessories; determining, during the period of time before the timer expires, whether the second accessory has established a communication connection for data exchange with the companion; reverting, in response to the timer's expiring, to scanning for one or more wrist states from the one or more paired accessories.
 14. The medium as in claim 13 wherein the one or more wrist states indicate a state of a position of the corresponding accessory relative to a body of a user of the companion device.
 15. The medium as in claim 13 wherein the scanning is for Bluetooth advertisements which include the one or more wrist states.
 16. The medium as in claim 15 wherein the companion device transmits synchronization data to the second accessory in response to determining that the second accessory has established the communication connection.
 17. The medium as in claim 16 wherein if the second accessory has not established the communication connection by the time the timer expires then the companion device continues to determine whether a switch has occurred.
 18. The medium as in claim 16 wherein the companion device transmits the synchronization data while the companion device is locked.
 19. The medium as in claim 1 wherein the synchronization data is transmitted automatically to the second accessory in response to the switch.
 20. The medium as in claim 19, wherein the companion device is one of a smartphone or a tablet computer and wherein the first accessory and the second accessory use the same advertising identifier.
 21. The medium as in claim 20 wherein the companion device prevents a race condition between the one or more accessories by ceasing of the scanning during the period of time before the timer expires. 